The process of designing a software architecture using different kinds of components is often challenging. Different designs support some quality attributes while damaging others; therefore, trade-off analysis is needed to make informed decisions. Moreover, analysis made in theory needs to be complemented with observations in practice, especially when using a particular set of technologies to implement the system. In this paper, we present a particular instance of this problem. We study how the Three-Layer architectural pattern may be developed using plug-ins. We compare two extreme alternatives according to several representative scenarios and their impact in some quality attributes. Then, we apply this theoretical knowledge to a case study, the implementation of a plug-in-based tool for managing architectural knowledge using Eclipse. We report some unexpected difficulties found that forced us to adapt the theoretical solution into an operative architecture.
展开▼